package com.lianjia.analysis.service;

import com.lianjia.analysis.model.HouseInfo;
import com.lianjia.analysis.model.dto.PageDTO;

import java.util.List;
import java.util.Map;

/**
 * 房源服务接口
 */
public interface HouseService {

    /**
     * 获取所有城市列表
     */
    List<String> getAllCities();

    /**
     * 获取所有区域列表
     */
    Map<String, List<String>> getAllDistricts();

    /**
     * 获取价格区间列表
     */
    List<String> getPriceRanges();

    /**
     * 获取面积区间列表
     */
    List<String> getAreaRanges();

    /**
     * 获取户型列表
     */
    List<String> getLayouts();

    /**
     * 获取装修列表
     */
    List<String> getDecorations();

    /**
     * 根据条件查询房源
     */
    PageDTO<HouseInfo> findHouses(String city, String district, String priceRange, 
                                 String areaRange, String layout, String decoration, 
                                 int page, int size);

    /**
     * 增强版查询房源方法，支持更多参数和排序
     */
    PageDTO<HouseInfo> findHouses(String city, String priceRange, String areaRange,
                                String layout, String decoration, String query,
                                String sort, int page, int size);

    /**
     * 根据ID查询房源
     */
    HouseInfo findHouseById(String id);

    /**
     * 查询相似房源
     */
    List<HouseInfo> findSimilarHouses(String id);
} 